package com.example.designpatterns.state;

/**
 * State接口 - 状态接口
 * 
 * 定义一个接口以封装与Context的一个特定状态相关的行为
 */
public interface State {
    /**
     * 支付操作
     * @param context 上下文对象
     */
    void pay(Context context);
    
    /**
     * 发货操作
     * @param context 上下文对象
     */
    void ship(Context context);
    
    /**
     * 收货操作
     * @param context 上下文对象
     */
    void receive(Context context);
    
    /**
     * 申请退款操作
     * @param context 上下文对象
     */
    void refund(Context context);
    
    /**
     * 取消订单操作
     * @param context 上下文对象
     */
    void cancel(Context context);
    
    /**
     * 获取状态描述
     * @return 状态描述
     */
    String getDescription();
} 